Previous: Decoding Output, Up: Output from Processes [Contents][Index]
Output from asynchronous subprocesses normally arrives only while Emacs is waiting for some sort of external event, such as elapsed time or terminal input. Occasionally it is useful in a Lisp program to explicitly permit output to arrive at a specific point, or even to wait until output arrives from a process.
This function allows Emacs to read pending output from
processes. The output is given to their filter functions. If
process is non-nil then this function
does not return until some output has been received from
process.
The arguments seconds and millisec
let you specify timeout periods. The former specifies a
period measured in seconds and the latter specifies one
measured in milliseconds. The two time periods thus specified
are added together, and accept-process-output
returns after that much time, even if there is no subprocess
output.
The argument millisec is obsolete (and should not be used), because seconds can be floating point to specify waiting a fractional number of seconds. If seconds is 0, the function accepts whatever output is pending but does not wait.
If process is a process, and the argument
just-this-one is non-nil, only output
from that process is handled, suspending output from other
processes until some output has been received from that
process or the timeout expires. If just-this-one
is an integer, also inhibit running timers. This feature is
generally not recommended, but may be necessary for specific
applications, such as speech synthesis.
The function accept-process-output returns
non-nil if it got output from
process, or from any process if process
is nil. It returns nil if the
timeout expired before output arrived.
Previous: Decoding Output, Up: Output from Processes [Contents][Index]